UNPKG

@lobehub/chat

Version:

Lobe Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.

34 lines (26 loc) 867 B
import { useSearchParams } from 'react-router-dom'; import { FilesTabs } from '@/types/files'; /** * Hook to manage file category filter in URL search params * Uses react-router-dom instead of nuqs for MemoryRouter compatibility */ export const useFileCategory = (): [string, (value: string) => void] => { const [searchParams, setSearchParams] = useSearchParams(); const category = searchParams.get('category') ?? FilesTabs.All; const setCategory = (value: string) => { setSearchParams( (prev) => { const newParams = new URLSearchParams(prev); if (value === FilesTabs.All) { // Clear on default newParams.delete('category'); } else { newParams.set('category', value); } return newParams; }, { replace: true }, ); }; return [category, setCategory]; };